package com.xique.park.controller.client.web.bean.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xique.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 访客信息对象 t_visitor
 *
 * @author ww
 * @date 2021-09-30
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class Visitor extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 自动增量
     */
    private Long id;

    /**
     * 项目ID
     */
    private Long parkId;

    /**
     * 关联用户id
     */
    private Long userId;

    /**
     * 身份证号
     */
    private String idCard;

    /**
     * 人脸识别机用户唯一标识
     */
    private String customId;

    /**
     * 类型0: 白名单 1: 黑名单
     */
    private Integer personType;

    /**
     * 访客姓名
     */
    private String visitorName;

    /**
     * 性别（0男 1女 2未知）
     */
    private String gender;

    /**
     * 访客电话
     */
    private String visitorPhone;

    /**
     * 访客类型： 0:永久名单 1:临时名单 1(时间段有效) 2:临时名单 2(每天同一时间段有效) 3 临时名单 3(次数有效)
     */
    private String visitorType;

    /**
     * 地址
     */
    private String address;

    /**
     * 人脸URL
     */
    private String faceUrl;

    /**
     * 人脸key
     */
    private String faceKey;

    /**
     * 状态 0禁用, 1启用
     */
    private String status;

    /**
     * 临时名单开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date startTime;

    /**
     * 临时名单结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date endTime;

    /**
     * 临时名单 3 的有效次数
     */
    private Long effectNumber;

    /**
     * 创建人
     */
    private Long createUser;

    /**
     * 更新人
     */
    private Long updateUser;

    /**
     * 2:收费访客车；3：免费访客车
     */
    private String visitorCarType;

    /**
     * 访客车牌号
     */
    private String visitorCarPlate;

    //小区名称，非数据库字段，前端使用
    private String parkName;

    //非数据库字段，查询使用
    private String userIds;

}
